local 商城菜单={祥瑞商城={"光环","祥瑞","足迹","锦衣","施法特效","祥瑞套装"},仙玉商店={"仙玉商城","特殊商城","礼包"},杂货商城={"银子商城"},炼妖商城={"宝宝"},法宝商城={"法宝"},积分商城={"天罡积分","地煞积分","神器积分"},神兵利器={"灵宝"}}
local 商城 = 多开数据[多开数据.当前].__UI界面.窗口层:创建我的窗口("商城", 0, 0, 830, 534)
local 当前 = 多开数据.当前--
function 商城:初始化()
    __置窗口坐标(self)
    local nsf = require('SDL.图像')(830, 534)
    if nsf:渲染开始() then
        __res:取图片("shape/ui/pic/sc/scbj.png"):显示(0, 0) --置窗口背景("霓裳宝阁", 0, 12, 822, 523, true):显示(0, 0)
        取白色背景(0, 0, 590+55, 430, true):显示(214-75, 77+25)
        字体18:置颜色(__取颜色('白色'))        
        字体18:取图像('数量'):显示(10, 443)
        取输入背景(0, 0, 60, 23):显示(60, 445)
        nsf:渲染结束()
    end
    self:置精灵(nsf:到精灵())
    self.菜单={}
    --self.允许移动 = true
end
function 商城:刷新数据(data)
    self.银子 = data.银子 or 0
    self.仙玉 = data.仙玉 or 0
    self.累充 = data.累充 or 0
    self.点卡 = data.点卡 or 0
    self.活动积分 = data.积分数 or 0
    self:重置()
end
function 商城:加载数据(data)
    self.菜单={}
    self.数据 = data
    self.银子 = data.银子 or 0
    self.仙玉 = data.仙玉 or 0
    self.累充 = data.累充 or 0
    self.点卡 = data.点卡 or 0
    self.活动积分 = data.积分数 or 0
    for key, value in pairs(data) do
        if key ~='仙玉' and key ~='累充' and key ~='点卡' and key ~='银子' and key ~='积分数' then
        table.insert(self.菜单, key)
        end
    end
    
    if not self.是否可见 then
        self:打开()
    else
        self:置可见(false)
    end
end

function 商城:打开()
    self:置可见(true)
    self.类型='杂货商城'
    self.分类='银子商城'
    self.数量输入:置数值(1)
    self:重置()
end
function 商城:刷新分类()
    self.选中=0
    self.数量输入:置数值(1)
    self:重置()
end

function 商城:重置()
local nsf = require('SDL.图像')(830, 534)
    if nsf:渲染开始() then
        __res:取图片("shape/ui/pic/sc/scbj.png"):显示(0, 0) 
        取白色背景(0, 0, 590+55, 430, true):显示(214-75, 77+25)
        字体18:置颜色(__取颜色('白色'))        
        字体18:取图像('数量'):显示(10, 443)
        取输入背景(0, 0, 60, 23):显示(60, 445)
        字体18:置颜色(__取颜色('黄色'))
        字体18:取图像(self.仙玉):显示(162, 18)
        字体18:取图像(self.银子):显示(165+122, 18)
        字体18:取图像(self.点卡):显示(165+125+115, 18) -- 
        if self.活动积分 ~= 0 and self.活动积分[self.分类] then
            字体18:取图像(self.活动积分[self.分类]):显示(165+125+115+115, 18) --    
        end
        nsf:渲染结束()
    end
    self:置精灵(nsf:到精灵())
end

local 数量s=0              
for key, value in pairs(商城菜单) do
    数量s=数量s+1
    local 数量s1=0
    local tcp=取图像指定帧(__res:取地址("shape/ui/pic/", 0x00000033), 2)
    local tcp1=取图像指定帧(__res:取地址("shape/ui/pic/", 0x00000033), 3)
    local 临时函数 = 商城:创建我的单选按钮(tcp, tcp1, key,1, 24+35*数量s, key)--创建我的was单选按钮1(__res:取地址("shape/ui/pic/", 0x00000033), key, 1, 24+35*数量s,key)          
    function 临时函数:左键弹起(x, y, msg)
        商城.类型 = key
        商城.分类=value[1]
        商城.道具网格:置物品(商城.数据[商城.分类])
        商城:刷新分类()
        
        for index3, value3 in pairs(value) do
            商城[value3]:置可见(true)               
        end
        for index5, value5 in pairs(商城菜单) do
            if key~=index5 then
                for key6, value6 in pairs(value5) do
                    商城[value6]:置可见(false)  
                end           
            end
        end
    end  
  
    for index2, value2 in pairs(value) do
        数量s1=数量s1+1
        local tcp=取图像指定帧(__res:取地址("shape/ui/pic/", 0xAF73D0A2), 1):拉伸(80, 25)
        local tcp1=取图像指定帧(__res:取地址("shape/ui/pic/", 0xAF73D0A2), 2):拉伸(80, 25)
        local 临时函数1 = 商城:创建我的单选按钮(tcp, tcp1, value2, 67+85*数量s1, 63,value2)       
        function 临时函数1:左键弹起(x, y, msg)
            商城.分类 = value2           
            商城.道具网格:置物品(商城.数据[商城.分类])
            商城:刷新分类()
        end         
    end 
   
end    
local 道具网格 = 商城:创建网格("道具网格", 223-70, 91+15, 640, 420)
    function 道具网格:初始化()

    end
    function 道具网格:左键弹起(x, y, a, b, msg)
        if 商城.分类 == "祥瑞套装" then
            if self.子控件[商城.选中] and self.子控件[商城.选中]._spr   and self.子控件[商城.选中]._spr.数据 then
            self.子控件[商城.选中]._spr.数据.确定 = nil
            end
            if self.子控件[a]._spr.数据 then
                商城.选中 = a
                self.子控件[a]._spr.数据.确定 = true
            end
        elseif 商城.分类 == "宝宝" then
            if 商城.选中 and self.子控件[商城.选中] then
                if 商城.选中 == a and 商城.数据[商城.分类][a] then
                    多开数据[当前].__UI界面.窗口层.召唤兽查看:打开(商城.数据[商城.分类][a])
                else
                    self.子控件[商城.选中]._spr.确定 = nil
                    if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.物品 then
                        商城.选中 = a
                        self.子控件[a]._spr.确定 = true
                    end
                end
            else
                if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.物品 then
                    商城.选中 = a
                    self.子控件[a]._spr.确定 = true
                end
            end
        else
            if 商城.选中 and self.子控件[商城.选中] and self.子控件[商城.选中]._spr and self.子控件[商城.选中]._spr.确定 then
                self.子控件[商城.选中]._spr.确定 = nil
            end
            if self.子控件[a] and self.子控件[a]._spr and self.子控件[a]._spr.物品 then
                商城.选中 = a
                local w, h = self.子控件[a]:取宽高()
                self.子控件[a]._spr.确定 = true
                self.子控件[a]._spr:详情打开(0, 86, w, h, "选择", a)
            end
        end
    end
    function 道具网格:置物品(数据)
        local lssj = 1
        if 数据 and 取表数量(数据) > 5 then
            lssj = 取表数量(数据) // 5 + 1
        end
        if 商城.分类=="祥瑞套装" then
            self:创建格子(200, 200, 5, 5, lssj, 3, true)
            for i = 1, #self.子控件 do                
                if 数据 and 数据[i] then
                    local lssj = __UI模型格子.创建(多开数据.当前)
                    lssj:置数据(数据[i], 商城.分类, 100,150)
                    self.子控件[i]:置精灵(lssj)
                end
            end
        else
            self:创建格子(120, 120, 15, 5, lssj, 5, true)
            for i = 1, #self.子控件 do
                local lssj = __商店格子.创建(当前)
                if 数据 and 数据[i] then
                    if 商城.分类 == "宝宝" then
                       -- (数据, 类型, x, y, 附加,方向)
                        lssj:置物品(数据[i], "商城道具", nil, "宝宝")
                    else
                        lssj:置物品(数据[i], "商城道具", nil,商城.类型)
                    end
                    if lssj.数据 then
                        self.子控件[i]:置精灵(lssj)
                    else
                        self.子控件[i]:置精灵(nil)
                    end
                end
            end
        end
    end


local 关闭 = 商城:创建我的按钮(__res:取图片("shape/ui/pic/sc/gb.png"), "关闭", 780-15, 15)

function 关闭:左键弹起(x, y, msg)
    商城:置可见(false)
    self.选中 = nil
end

local 数量输入 = 商城:创建我的输入("数量输入", 90, 445, 50, 24, 2, 2, '黑色')

local 购买 = 商城:创建我的按钮(__res:getPNGCC(1, 449, 28, 174, 35, true):置拉伸(110, 33), "购买", 10, 473, "购买")
function 购买:左键弹起(x, y, msg)
    if not 商城.选中 or 商城.选中==0 then
        多开数据[当前].__UI弹出.提示框:打开("#r请先选择一件商品")                       
    elseif 商城.选中 and 商城.分类 and 商城.数量输入:取数值() then
        
        local 发送信息 = {
            编号 = 商城.选中,
            位置 = 商城.选中,
            数量 = 商城.数量输入:取数值(),
            组号 = 18,
            分类 = 商城.分类,
           
        }
        if 商城.分类=='祥瑞套装' then
            发送信息.名称 = 商城.道具网格.子控件[商城.选中]._spr.数据.名称   
        else
            发送信息.名称 = 商城.道具网格.子控件[商城.选中]._spr.物品.名称   
        end
       
        -- if 商城.类型=="仙玉商店" then   
        --     if 商城.仙玉 < 商城.数据[商城.分类][商城.选中].价格*发送信息.数量 then
        --         多开数据[当前].__UI弹出.提示框:打开("#r您的仙玉不足")    
        --         return 
        --     end
        -- elseif 商城.类型=="银子商城" then   
        --     if 商城.银子 < 商城.数据[商城.分类][商城.选中].价格*发送信息.数量 then
        --         多开数据[当前].__UI弹出.提示框:打开("#r您的银子不足")    
        --         return 
        --     end
        -- elseif 商城.类型=="炼妖商城" then   
        --     if 商城.银子 < 商城.数据[商城.分类][商城.选中].价格 then
        --         多开数据[当前].__UI弹出.提示框:打开("#r您的银子不足")    
        --         return 
        --     end
        -- elseif 商城.类型=="法宝商城" then   
        --     if 商城.活动积分.法宝积分 < 商城.数据[商城.分类][商城.选中].价格 then
        --         多开数据[当前].__UI弹出.提示框:打开("#r您的法宝积分不足")    
        --         return 
        --     end
        -- elseif 商城.类型=="积分商城" then   
        --     if 商城.活动积分[商城.分类] < 商城.数据[商城.分类][商城.选中].价格*发送信息.数量 then
        --         多开数据[当前].__UI弹出.提示框:打开("#r您的"..商城.分类.."积分不足")    
        --         return 
        --     end
        -- elseif 商城.类型=="神兵利器" then  
        --     if 商城.银子 < 商城.数据[商城.分类][商城.选中].价格 then
        --         多开数据[当前].__UI弹出.提示框:打开("#r您的银子不足")    
        --         return 
        --     end
        -- end
        发送数据(当前 or self and self.当前, 30, 发送信息)
    end
end
